package com.ruoyi.report_sh.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.report_tg.domain.bo.ExcelGeneralBo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 石灰密度、未消化残渣含量、含水率、细度试验检测记录业务对象 report_sh_shmdwxhczhlhslxdjlb_bs_info
 *
 * @author llb
 * @date 2024-09-04
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class ReportShShmdwxhczhlhslxdjlbBsInfoBo extends ExcelGeneralBo {

    /**
     * 一份excel表格的唯一id(其他的excel主表，都应有此字段）
     */
    @NotNull(message = "一份excel表格的唯一id(其他的excel主表，都应有此字段）不能为空", groups = { EditGroup.class })
    private Long excelId;

    /**
     * 共几页
     */
    @NotNull(message = "共几页不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long totalPage;

    /**
     * 第几页
     */
    @NotNull(message = "第几页不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long page;

    /**
     * 检测单位名称
     */
    @NotBlank(message = "检测单位名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancdwmc;

    /**
     * 记录编号
     */
    @NotBlank(message = "记录编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jilbh;

    /**
     * 工程名称
     */
    @NotBlank(message = "工程名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gongcmc;

    /**
     * 工程部位/用途
     */
    @NotBlank(message = "工程部位/用途不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gongcbwyt;

    /**
     * 样品名称
     */
    @NotBlank(message = "样品名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpmc;

    /**
     * 样品编号
     */
    @NotBlank(message = "样品编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpbh;

    /**
     * 样品数量
     */
    @NotBlank(message = "样品数量不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpsl;

    /**
     * 样品状态
     */
    @NotBlank(message = "样品状态不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpzt;

    /**
     * 样品时间
     */
    @NotBlank(message = "样品时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpsj;

    /**
     * 试验检测日期
     */
    @NotBlank(message = "试验检测日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiyjcrq;

    /**
     * 试验条件温度
     */
    @NotBlank(message = "试验条件温度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiytjwd;

    /**
     * 试验条件湿度
     */
    @NotBlank(message = "试验条件湿度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiytjsd;

    /**
     * 检测依据
     */
    @NotBlank(message = "检测依据不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancyj;

    /**
     * 判定依据
     */
    @NotBlank(message = "判定依据不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pandyj;

    /**
     * 主要仪器设备名称及编号
     */
    @NotBlank(message = "主要仪器设备名称及编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String zhuyyqsbmcjbh;

    /**
     * 盒质量1
     */
    @NotNull(message = "盒质量1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal hezl1;

    /**
     * 盒质量2
     */
    @NotNull(message = "盒质量2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal hezl2;

    /**
     * 盒+湿样质量1
     */
    @NotNull(message = "盒+湿样质量1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal hesyzl1;

    /**
     * 盒+湿样质量2
     */
    @NotNull(message = "盒+湿样质量2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal hesyzl2;

    /**
     * 盒+干样质量1
     */
    @NotNull(message = "盒+干样质量1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal hegyzl1;

    /**
     * 盒+干样质量2
     */
    @NotNull(message = "盒+干样质量2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal hegyzl2;

    /**
     * 水分质量1
     */
    @NotNull(message = "水分质量1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shuifzl1;

    /**
     * 水分质量2
     */
    @NotNull(message = "水分质量2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shuifzl2;

    /**
     * 干试样质量1
     */
    @NotNull(message = "干试样质量1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal gansyzl1;

    /**
     * 干试样质量2
     */
    @NotNull(message = "干试样质量2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal gansyzl2;

    /**
     * 含水率单值1
     */
    @NotNull(message = "含水率单值1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal hansldz1;

    /**
     * 含水率单值2
     */
    @NotNull(message = "含水率单值2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal hansldz2;

    /**
     * 含水率平均值
     */
    @NotNull(message = "含水率平均值不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal hanslpjz;

    /**
     * 试验温度1
     */
    @NotNull(message = "试验温度1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shiywd1;

    /**
     * 试验温度2
     */
    @NotNull(message = "试验温度2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shiywd2;

    /**
     * 水的密度1
     */
    @NotNull(message = "水的密度1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shuidmd1;

    /**
     * 水的密度2
     */
    @NotNull(message = "水的密度2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shuidmd2;

    /**
     * 试验前1
     */
    @NotNull(message = "试验前1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shiyq1;

    /**
     * 试验前2
     */
    @NotNull(message = "试验前2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shiyq2;

    /**
     * 试验后1
     */
    @NotNull(message = "试验后1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shiyh1;

    /**
     * 试验后2
     */
    @NotNull(message = "试验后2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shiyh2;

    /**
     * 加石灰前1
     */
    @NotNull(message = "加石灰前1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiashq1;

    /**
     * 加石灰前2
     */
    @NotNull(message = "加石灰前2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiashq2;

    /**
     * 加石灰后1
     */
    @NotNull(message = "加石灰后1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiashh1;

    /**
     * 加石灰后2
     */
    @NotNull(message = "加石灰后2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiashh2;

    /**
     * 石灰密度单值1
     */
    @NotNull(message = "石灰密度单值1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shihmddz1;

    /**
     * 石灰密度单值2
     */
    @NotNull(message = "石灰密度单值2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shihmddz2;

    /**
     * 石灰密度平均值1
     */
    @NotNull(message = "石灰密度平均值1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shihmdpjz1;

    /**
     * 石灰密度平均值2
     */
    @NotNull(message = "石灰密度平均值2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shihmdpjz2;

    /**
     * 石灰相对密度
     */
    @NotNull(message = "石灰相对密度不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shihxdmd;

    /**
     * 样品质量1
     */
    @NotNull(message = "样品质量1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal yangpzl1;

    /**
     * 样品质量2
     */
    @NotNull(message = "样品质量2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal yangpzl2;

    /**
     * 样品质量3
     */
    @NotNull(message = "样品质量3不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal yangpzl3;

    /**
     * 0.6mm筛余物质量m11
     */
    @NotNull(message = "0.6mm筛余物质量m11不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal m11;

    /**
     * 0.6mm筛余物质量m12
     */
    @NotNull(message = "0.6mm筛余物质量m12不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal m12;

    /**
     * 0.6mm筛余物质量m13
     */
    @NotNull(message = "0.6mm筛余物质量m13不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal m13;

    /**
     * 0.15mm筛余物质量m21
     */
    @NotNull(message = "0.15mm筛余物质量m21不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal m21;

    /**
     * 0.15mm筛余物质量m22
     */
    @NotNull(message = "0.15mm筛余物质量m22不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal m22;

    /**
     * 0.15mm筛余物质量m23
     */
    @NotNull(message = "0.15mm筛余物质量m23不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal m23;

    /**
     * x11
     */
    @NotNull(message = "x11不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal x11;

    /**
     * x12
     */
    @NotNull(message = "x12不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal x12;

    /**
     * x13
     */
    @NotNull(message = "x13不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal x13;

    /**
     * x21
     */
    @NotNull(message = "x21不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal x21;

    /**
     * x22
     */
    @NotNull(message = "x22不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal x22;

    /**
     * x23
     */
    @NotNull(message = "x23不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal x23;

    /**
     * 试样干质量1
     */
    @NotNull(message = "试样干质量1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shiygzl1;

    /**
     * 试样干质量2
     */
    @NotNull(message = "试样干质量2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shiygzl2;

    /**
     * 试样干质量3
     */
    @NotNull(message = "试样干质量3不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shiygzl3;

    /**
     * 干质量1
     */
    @NotNull(message = "干质量1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal ganzl1;

    /**
     * 干质量2
     */
    @NotNull(message = "干质量2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal ganzl2;

    /**
     * 干质量3
     */
    @NotNull(message = "干质量3不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal ganzl3;

    /**
     * 百分比1
     */
    @NotNull(message = "百分比1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal baifb1;

    /**
     * 百分比2
     */
    @NotNull(message = "百分比2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal baifb2;

    /**
     * 百分比3
     */
    @NotNull(message = "百分比3不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal baifb3;

    /**
     * 未消解颗粒含量
     */
    @NotNull(message = "未消解颗粒含量不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal weixjklhl;

    /**
     * 附加声明
     */
    @NotBlank(message = "附加声明不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fujsm;

    /**
     * 检测
     */
    @NotBlank(message = "检测不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jianc;

    /**
     * 记录
     */
    @NotBlank(message = "记录不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jil;

    /**
     * 复核
     */
    @NotBlank(message = "复核不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fuh;

    /**
     * 日期
     */
    @NotBlank(message = "日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private String riq;

    /**
     * 设备ids
     */
    @NotBlank(message = "设备ids不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shebIds;

    /**
     * 判断依据ids
     */
    @NotBlank(message = "判断依据ids不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pandyjIds;

    /**
     * 检测依据ids
     */
    @NotBlank(message = "检测依据ids不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancyjIds;

    /**
     * 细度平均值1
     */
    @NotNull(message = "细度平均值1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal xidpjz1;

    /**
     * 细度平均值2
     */
    @NotNull(message = "细度平均值2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal xidpjz2;


    /**
     * 盒号1
     */
    private String heh1;

    /**
     * 盒号id1
     * @param excelId
     */
    private Long hehId1;

    /**
     * 盒号2
     */
    private String heh2;

    /**
     * 盒号id2
     * @param excelId
     */
    private Long hehId2;
}
